// 拦截所有请求，添加路加前缀
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';
// 从需求角度触发，没有必要所有请求都添加token
// axios。defaults。headers。common['Authorization'] = localStorage.getItem

// 添加请求拦截器
// use 方法里面可以传递两个函数!
axios.interceptors.request.use(function (config) {
    // 打印 config 参数
    // console.log(config);
    // 判断路径中，是否包含 /api 或者 /my
    // 或者 >0 或者 ！== -1  或者 > -1 都说明查到了
    if (config.url.indexOf('/my') !== -1) {
        // 这样赋值，不会影响原来的头信息设置！
        // 所有头信息的设置，不要使用对象赋值，要使用 .属性，不会出现覆盖
        config.headers.Authorization = localStorage.getItem('token')
    }
    // 修改完毕的config需要返回
    return config;
}, function (error) {
    // 将来讲解 Promise 对象，详细讲解
    return Promise.reject(error);
});


// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 输出响应结果
    // console.log(response);
    // if(response.data.status === 1 && response.data.message === "") 
    if (response.data.message === "身份认证失败！") {
        // 跳转到登录页面，销毁token
        location.href = '/login.html';
        localStorage.removeItem('token');
    }
    // 返回response
    return response;
}, function (error) {
    return Promise.reject(error);
});

// 格式化日期方法
function formatDate(time) {
    let dt = new Date(time);
    let y = dt.getFullYear();
    let m = padZero(dt.getMonth() + 1);
    let d = padZero(dt.getDate());

    let hh = padZero(dt.getHours());
    let mm = padZero(dt.getMinutes());
    let ss = padZero(dt.getSeconds());

    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
}

// 定义一个补零函数
function padZero(n) {
    return n < 10 ? '0' + n : n;
}